home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
R-Shows
/
(c)sf85.d64
/
copy-all v2.c
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-04
|
2KB
|
86 lines
100 PRINT"[147]DISK COPY-ALL JIM BUTTERFIELD"
110 A$="!JIM BUTTERFIELD!":A$=A$+A$+A$:A$=A$+A$+A$+A$+A$
120 P$=""
130 DIM L2(232),L1%(232),N$(232),T%(232),T$(4)
140 DATA XXX,SEQ,PRG,USR,REL
150 FORJ=0TO4:READT$(J):NEXTJ
160 INPUT"FROM UNIT 8[157][157][157]";F
170 GOSUB830
180 F$=D$
190 INPUT"TO UNIT 9[157][157][157]";T
200 GOSUB830:T$=D$:IFT=FANDF$=T$THENRUN
230 N=0:CLOSE1:CLOSE15:OPEN 15,F,15:PRINT#15,"I"+F$
240 GOSUB860:IF E THEN STOP:GOTO230
250 Z=90:INPUT"PATTERN *[157][157][157]";P$
260 P$="XXX"+LEFT$(P$+"[160][160][160][160][160][160][160][160][160][160][160][160][160][160][160]",16)
270 PRINT"HOLD DOWN 'Y' OR 'N' KEY TO SELECT"
280 PRINT"PROGRAMS TO BE COPIED..."
290 OPEN 1,F,3,"$"+F$
300 GOSUB860:IFETHENSTOP:GOTO230
310 SYS4156
320 R=255:GOTO 340
330 SYS4245
340 FORJ=16TO2STEP-1:IFASC(MID$(A$,J+3))=160THENNEXTJ
350 N$=MID$(A$,4,J)
360 T9=ASC(A$)-128:IFT9<1ORT9>4GOTO470
370 L1%=ASC(MID$(A$,22))
380 L2=ASC(MID$(A$,29))+ASC(MID$(A$,30))*256
390 PRINTMID$(A$,4,16);" ";T$(T9)
400 P=PEEK(203)ANDR
410 GETZ$:IFZ$=""ANDP<064GOTO450
420 IFZ$="Y"ORZ$="N"THENZ=ASC(Z$):R=255:GOTO450
430 IFZ$=CHR$(13)THENR=0:GOTO450
440 GOTO410
450 IFZ<80THENPRINT"[145] [145]":GOTO470
460 N=N+1:L2(N)=L2:N$(N)=N$:T%(N)=T9:L1%(N)=L1%
470 IFST=0ANDN<232GOTO330
480 CLOSE1:CLOSE15:PRINT" * * * * *"
485 IFN=0THENPRINT"* NO PROGRAMS *":GOTO 800
490 FORJ=1TON
500 L2=L2(J):T%=T%(J):IFL>L2GOTO670
510 IFQ=0GOTO550
520 PRINT"*** OUTPUT DISK FULL"
530 INPUT"DO YOU HAVE A NEW ONE";Z$
540 IFASC(Z$)<>89THENEND
550 CLOSE15:OPEN15,T,15:INPUT"WANT TO NEW THE OUTPUT DISK N[157][157][157]";Z$
560 IFASC(Z$)<>89GOTO600
570 INPUT"DISK NAME,ID";X$,Y$
580 PRINT#15,"N"+T$+":"+X$+","+Y$
590 GOSUB860:IFETHENSTOP:GOTO550
600 PRINT#15,"I"+T$:OPEN1,T,0,"$"+T$+":!#$%&"
610 GOSUB860:IFETHENSTOP:GOTO550
620 GOSUB890:GOSUB890:Q=Q+1
630 GET#1,X$:IFX$<>""GOTO630
640 GOSUB890
650 L=X+Y*256:PRINT"(";L;"BLOCKS FREE )"
660 CLOSE1:CLOSE15:GOTO500
670 OPEN14,F,15:OPEN15,T,15
680 PRINTLEFT$(N$(J)+" ",21);
690 OPEN3,F,3,F$+":"+N$(J)+","+T$(T%)
700 GOSUB855:IFETHENPRINT"** ";E$;E:GOTO780
710 IFT%=4THENOPEN4,T,4,T$+":"+N$(J)+",L,"+CHR$(L1%(J)):GOTO730
720 OPEN4,T,4,T$+":"+N$(J)+","+T$(T%)+",W"
730 L=L-L2:GOSUB860:IFETHENPRINT"*** ";E$;E:GOTO780
740 IFT%=4THENSYS4462:GOSUB855:GOTO760
750 SYS4443
760 N$(J)="":GOSUB860:IFETHENPRINT"**** ";E$;E:GOTO780
770 PRINT"[145]"
780 CLOSE4:CLOSE3:CLOSE15:CLOSE14
790 NEXTJ
800 X=FRE(0):INPUT"ANOTHER INPUT DISK READY";Z$
810 IFASC(Z$)=89GOTO230
820 END
830 INPUT"DRIVE 0[157][157][157]";D
840 IFD*D<>DGOTO830
850 D$=CHR$(D+48):RETURN
855 INPUT#14,E,E$,E1,E2:GOTO870
860 INPUT#15,E,E$,E1,E2
870 IFE=0THENE=(ST AND 191):E$="*ST*"
880 RETURN
890 GET#1,X$
900 GET#1,X$
910 GET#1,X$
920 X=ASC(X$+CHR$(0))
930 GET#1,X$:Y=ASC(X$+CHR$(0))
940 RETURN